﻿using System;
using System.Runtime.Serialization;

namespace Sern.Abstracts.Tracker.DataContracts
{
    [DataContract]
    public class ProcessingNotice
    {
        [DataMember]
        public Guid ClientId { get; set; }

        [DataMember]
        public Guid JobId { get; set; }

        [DataMember]
        public Guid Key { get; set; }

        [DataMember]
        public Guid RedundancyKey { get; set; }

        /// <summary>
        /// The key that generates this key, usually only discoverable from the job sender. Ie. the sub job initializer, that sets the processing stage to .started.
        /// </summary>
        [DataMember]
        public Guid ParentKey { get; set; }

        [DataMember]
        public ProcessingStage ProcessingStage { get; set; }

        [DataMember]
        public bool IsJobEnding { get; set; }

        [DataMember]
        public DateTimeOffset TimeStamp { get; set; }
    }
}
